The present invention relates to signal communications and, in particular, to reception and transmission of encoded and modulated signals over a communications channel.
One type of communications channel which is expanding particularly rapidly is wireless communications, particularly as more radio spectrum becomes available for commercial use and as cellular phones become more commonplace. In addition, analog wireless communications are gradually being supplemented and even replaced by digital communications. In digital voice communications, speech is typically represented by a series of bits which may be modulated and transmitted from a base station of a cellular communications network to a mobile terminal device such as a cellular phone. The phone may demodulate the received waveform to recover the bits, which are then converted back into speech. In addition to voice communications, there is also a growing demand for data services, such as e-mail and Internet access, which typically utilize digital communications.
There are many types of digital communications systems. Traditionally, frequency-division-multiple-access (FDMA) is used to divide the spectrum up into a plurality of radio channels corresponding to different carrier frequencies. These carriers may be further divided into time slots, generally referred to as time-division-multiple-access (TDMA), as is done, for example, in the digital advanced mobile phone service (D-AMPS) and the global system for mobile communication (GSM) standard digital cellular systems. Alternatively, if the radio channel is wide enough, multiple users can use the same channel using spread spectrum techniques and code-division-multiple-access (CDMA).
A typical digital communications system 19 is shown in FIG. 1. Digital symbols are provided to the transmitter 20, which maps the symbols into a representation appropriate for the transmission medium or channel (e.g. radio channel) and couples the signal to the transmission medium via antenna 22. The transmitted signal passes through the channel 24 and is received at the antenna 26. The received signal is passed to the receiver 28. The receiver 28 includes a radio processor 30, a baseband signal processor 32, and a post processing unit 34.
The radio processor typically tunes to the desired band and desired carrier frequency, then amplifies, mixes, and filters the signal to a baseband. At some point the signal may be sampled and quantized, ultimately providing a sequence of baseband received samples. As the original radio signal generally has in-phase (I) and quadrature (Q) components, the baseband samples typically have I and Q components, giving rise to complex, baseband samples.
The baseband processor 32 may be used to detect the digital symbols that were transmitted. It may produce soft information as well, which gives information regarding the likelihood of the detected symbol values. The post processing unit 34 typically performs functions that depend on the particular communications application. For example, it may convert digital symbols into speech using a speech decoder.
A typical transmitter is shown in FIG. 2A. Information bits, which may represent speech, images, video, text, or other content material, are provided to forward-error-correction (FEC) encoder 40, which encodes some or all of the information bits using, for example, a convolutional encoder. Such error correction codes are generally designed to generate a number of bits for transmission greater than the underlying number of information bits, in order to obtain redundancy and, thus, increase the reliability of transmission. The ratio of the underlying data bit content to the number of transmitted bits is called the ‘rate’ of the code. The lower the rate, the more error protection is obtained. The error protection is, however, generally only obtained at the expense of an increase in the bandwidth. It is a fundamental law of Shannon that an increase in bandwidth is necessary to increase the reliability of transmission of data over channels corrupted by stationary, white Gaussian noise.
The FEC encoder 40 produces coded bits, which are provided to an interleaver 42, which reorders the bits to provide interleaved bits. These interleaved bits are provided to a modulator 44, which applies an appropriate modulation for transmission. The interleaver 42 may perform any type of interleaving. One example is block interleaving.
The modulator 44 may apply any of a variety of modulations. Higher-order modulations are frequently utilized. One example is 8-PSK (eight phase shift keying), in which 3 bits are sent using one of 8 constellation points in the in-phase (I)/quadrature (Q) (or complex) plane. In 8-PSK with Gray coding adjacent symbols differ by only one bit. Another example is 16-QAM (sixteen quadrature amplitude modulation), in which 4 bits are sent at the same time. Higher-order modulation may be used with conventional, narrowband transmission as well as with spread-spectrum transmission.
FIG. 2B further illustrates the stages in coding an information signal for transmission. Information may originate in many forms, such as an analog speech signal from a microphone, detected key depressions on a keyboard representing text, or video signals from a camera representing images. The first step, known as source coding (block 50) includes converting the information to a sequence of binary bits, which is often the preferred form in today's technology. The source coding (block 50) can use simply an analog-to-digital converter, or may comprise data compression to various degrees of sophistication. Data compression, however, may have the effect of raising the average amount of information carried by every bit, i.e., of raising the importance of each bit, thereby increasing the sensitivity to bit errors. This is typically only done when it is believed that the protection that can be added by intelligent error correction and detection coding (block 52) as greater than afforded by the natural redundancy in the information source. Thus, source coding (block 50) and channel coding (block 52) can be considered contradictory operations, the former aiming to remove natural redundancy from the information source, thereby reducing the number of bits to be transmitted, while the latter re-inserts redundancy, thereby increasing the number of bits to be transmitted.
It is known (see “On the Information Processing Capacity of the Human Channel,” Pierce and Karlin, BSTJ 1957) that human information sources, such as speech and text typically only have an information content of around 30–60 bits per second, but practical source coders have generally not yet come close to achieving that degree of compression.
After channel coding (block 52) the steps of modulating the coded information on to a radio frequency carrier for transmission using modulator (block 57) can include packing multiple binary bits into a multi-bit symbol, such as QPSK, 8-PSK, 16QAM etc. (block 54); assigning each multi-bit symbol to a signal constellation point, which may be an analog voltage level in one dimension (e.g., Multi-level amplitude modulation or M-AM) or assigning the symbol to a point in the complex lane, i.e., to a complex number, as in the case of M-QAM or M-PSK (block 56); filtering the sequence of signal constellation points to produce a bandwidth-restricted, continuous-time waveform (block 58); and unconverting the continuous-time waveform to a desired radio carrier frequency (block 59).
A receiver for receiving and decoding the signal transmitted in accordance with FIG. 2B may include the inverse functions, namely: 1) receiving and downconverting the radio signal to produce complex number measurements representing the constellation points; 2) converting the complex numbers to “soft” symbol and then bit values, representing the degrees of “oneness” or “zeroness,” i.e., the likelihood that a bit is ‘1’ or ‘0.’ It is known that the likelihood of a ‘1’ or ‘0’ can be conveniently represented on a scale of log-likelihood ratio, which may simplify error correction decoding; 3) error correction decoding, which involves determining the source bit sequence that best explains the received soft bit values, i.e., which predicts the soft-bit sequence giving the highest cumulative likelihood; and 4) source decoding, which converts the decoded bits back to the original information form, e.g., speech or text.
The well-known Viterbi convolutional decoder may be used to decode convolutional error-correction codes by sequentially determining the information bit sequence that predicts the received signal with the highest cumulative likelihood. Recently, methods to exploit the remaining redundancy in the source coded bits when Viterbi-decoding a coded signal have been proposed, and named “source-controlled decoding.” The principle of source-controlled decoding is generally to have first determined the “entropy” of the information source, in terms of the probability that a ‘1’ or ‘0’ respectively will occur at a particular position in the source coder output bitstream, given that it is preceded by each particular pattern of a limited history of bits. If the limited bit history on which the next bit probability depends is chosen to correspond to the constraint length of a convolutional channel coding (block 50), for example, then the convolutional decoder can weight each candidate decoded sequence with these a-priori probabilities as well as the likelihoods derived from received soft information, to thereby possibly exclude errors that would have produced an unlikely source signal. As a simple example, suppose a single doubtful coded bit in a coded text string could, on the one hand, have resulted in the sequence of characters “strz . . . ” being decoded, or alternatively “stri . . . ”. Since the former is a very unusual sequence to appear in plain text, its cumulative likelihood metric would be weighted lower than that for the latter. Ultimately, the Viterbi decoder outputs the sequence which has the highest product of the cumulative likelihood that the sequence matches received soft bits times the probability with which the decoded character string appears in plain text.
A conventional baseband processor is shown in FIG. 3. A baseband received signal is provided to the demodulator and soft information generator 60 which produces soft bit values. These soft bit values are provided to the soft information de-interleaver 62 which reorders the soft bit values to provide de-interleaved soft bits. These de-interleaved soft bits are provided to the FEC decoder 64 which performs, for example, convolutional decoding or block decoding, to produce detected information bits.
A typical conventional convolutional coder (as described above) is conceptually a shift register through which data to be encoded is shifted. Different combinations of delayed data bits are extracted from taps on the shift register and, for example, XORed, to produce two or more parity bits. The number of parity bits produced per new data bit shifted in sets the rate of the code. FIG. 4 illustrates a rate ⅓rd coder that produces three parity bits out for every new input bit. Conventionally, all these bits are transmitted and decoded at the receiver to determine the original data bits by means of a Viterbi sequential maximum likelihood estimator (MLSE) machine.
A variation on this is the known prior art Punctured Convolutional Coding, in which not all parity bits are transmitted but different parity bits at different times are deleted to reduce the overall bitrate transmitted over the channel, giving a different compromise between bandwidth expansion and error protection. The punctured convolutional coding technique may be suitable for providing different levels of error protection to different data bits in the message, as more or less of the parities can be deleted as particular data bits pass through the encoder according to the level of protection needed. For example, the most significant bits of an 8-bit Pulse Code Modulated (PCM) speech sample can be given highest protection by not deleting any parities while they are being encoded, while the least significant bits are given least protection by deleting all parities except one while they are encoded. In general, the latter occurs interleaved with coding of different rates so that a mixed pattern of deletions is used, known to both the transmitter and receiver, that may be employed during the decoding process.
Channels such as mobile radio channels are typically characterized by non-Gaussian Rayleigh fading which may be multipath propagation. It is known to use error correction coding to add redundancy and to spread the coded bits out in time by means of interleaving. In the European GSM system, frequency hopping is typically employed in which signal bursts are transmitted on sequentially different, pseudo-randomly selected frequency channels, and the coded bits are spread over as many as eight different frequencies. The remaining errors after decoding are then typically less susceptible to the transmission quality being poor for an isolated bad burst.
Methods of recording digital data on magnetic tape or disc providing for error correction are also known. Magnetic media manufacture is generally imperfect and the medium is typically characterized by missing patches of magnetic material that cause short gaps in the recording. If these gaps are comparable to or larger than the span of a data bit on the medium, then one or more errors will typically result. It is known to pass the data to be recorded through an all-pass filter having deliberately large group delay distortion, with the result that each bit would be spread in time and additively overlapping with other time-spread bits. The waveform at each recording instant, therefore, should represent part of many bits instead of all of one bit, so that, if that sample was lost, a small part of many bits would be lost and not all of one bit, possibly avoiding an error. The playback amplifier may then contain an all-pass filter or equalizer having the inverse characteristic to that used on recording, thus collecting up the dispersed fractions of each data bit. Such a system is described in “On the Potential Advantage of Smearing/De-smearing Filter Technique in Overcoming Impulse-Noise Problems in Data Systems” by Wainright, Trans IRE on Communications Systems, December 1961. U.S. Pat. No. 5,101,432 to Webb. discusses varying the smearing and desmearing filter characteristics according to a crypto code in order to achieve secrecy.